// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.SQLObject;
// import com.alibaba.druid.sql.ast.SQLStatementImpl;
// import com.alibaba.druid.sql.visitor.SQLASTVisitor;

// import java.util.ArrayList;
// import java.util.Collections;
// import java.util.List;

#include "../../../../ast/SQLStatementImpl.h"

class MySqlKillStatement_Type
{
public:
  static MySqlKillStatement_Type_ptr CONNECTION;
  static MySqlKillStatement_Type_ptr QUERY;
  string_ptr name;
  uint64_t mask;
  MySqlKillStatement_Type(uint64_t mask, string_ptr name);
};

class MySqlKillStatement : virtual public SQLStatementImpl
{
public:
  MySqlKillStatement_Type_ptr type;
  SQLExpr_list_ptr threadIds;

  MySqlKillStatement();
  SHAREDOBJECT(MySqlKillStatement);

  MySqlKillStatement_Type_ptr getType();

  void setType(MySqlKillStatement_Type_ptr type);

  SQLExpr_ptr getThreadId();

  void setThreadId(SQLExpr_ptr threadId);

  SQLExpr_list_ptr getThreadIds();

  void accept0(SQLASTVisitor_ptr visitor);

  // @Override
  SQLObject_list_ptr getChildren();
};
